/* App.css 或 Layout.module.css */

html, body, #root {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden; /* 防止外层滚动 */
  background: linear-gradient(135deg, #e8f5e9 0%, #e3f2fd 100%); /* 校园风渐变背景 */
}

.app-layout {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100vh;
  box-shadow: none; /* 去掉阴影 */
  border-radius: 0; /* 去掉圆角 */
  background: transparent;
}

.outlet-container {
  flex: 1;
  overflow-y: auto;
  min-height: 0; /* 防止flex子项撑开父容器 */
  background: transparent;
}

:root {
  --campus-primary: #4caf50;      /* 校园绿 */
  --campus-secondary: #2196f3;    /* 校园蓝 */
  --campus-accent: #fffde7;       /* 柔和背景 */
  --campus-text: #2e3d49;         /* 深色文字 */
  --adm-color-primary: var(--campus-primary);
  --adm-color-weak: var(--campus-secondary);
  --adm-color-text: var(--campus-text);
  --adm-font-size-main: 15px;
  --light-color: var(--campus-accent);
}

.adm-tab-bar {
  border-top: 2px solid var(--campus-primary);
  background-color: #fff;
  height: 54px;
}

.adm-tab-bar-item {
  --title-font-size: 13px;
  padding: 6px 0;
}

.adm-tab-bar-item-icon {
  font-size: 24px;
}

.adm-tab-bar-item-title {
  margin-top: 3px;
  font-size: var(--title-font-size);
  font-weight: 500;
}

.adm-tab-bar-item-active {
  color: var(--campus-primary);
  font-weight: bold;
  text-shadow: 0 2px 8px #a5d6a7;
}

/* 暗色模式适配 */
@media (prefers-color-scheme: dark) {
  html, body, #root {
    background: linear-gradient(135deg, #ffffff 0%, #ffffff 100%);
  }
  .app-layout {
    background: transparent;
  }
  .adm-tab-bar {
    background-color: #ffffff;
    border-top-color: #ffffff;
  }
  :root {
    --light-color: #ffffff;
    --dark-color: #f5f5f5;
  }
}

/* 小屏设备优化 */
@media (max-width: 375px) {
  .adm-tab-bar-item {
    --title-font-size: 11px;
  }
  .adm-tab-bar-item-icon {
    font-size: 20px;
  }
}
